﻿using System.Collections.Generic;

namespace CoreEx.MicroMapper
{
    /// <summary>
    /// Represents a class that is capable of matching two list of accessors.
    /// </summary>
    public interface IAccessorInfoMatcher
    {
        /// <summary>
        /// Returns the matching accessors  
        /// </summary>
        /// <param name="sourceAccessors">The first input sequence.</param>
        /// <param name="targetAccessors">The second inpt sequence.</param>
        /// <returns>A <see cref="IEnumerable{T}"/> that contains the matching accessors.</returns>
        IEnumerable<IAccessorInfoMatch> Match(IEnumerable<IAccessorInfo> sourceAccessors,IEnumerable<IAccessorInfo> targetAccessors);
    }
}
